Pulse code modulation digital compandor

ABSTRACT

A device for compressing or expanding a number x having plural binary digits and belonging to a predetermined range of numbers representing the amplitude of a quantized signal, into a number y having a lower or higher number of binary digits following a nonlinear characteristic approximated by a series of straight line segments of varying slopes which divide the range of numbers into various groups of numbers including numbers of different amplitudes. The device comprises an input register for storing said number x; and an output register for storing said number y, means for identifying the group to which the number x stored in the input register belongs, means for transferring predetermined binary digits relating to the level of the number x into such output register and means for storing into such output register binary digits relating to the identification of such group.

United States Patent Deschenes et al.

[151 3,694,639 [451 Sept. 26, 1972 Bloch et al. .....340/347 DD X Primary Examiner-Maynard R. Wilbur Assistant Examiner-Charles D. Miller Attorney-Raymond A. Robic [57] ABSTRACT A device for compressing or expanding a number x having plural binary digits and belonging to a predetermined range of numbers representing the amplitude of a quantized signal, into a number y having a lower or higher number of binary digits following a nonlinear characteristic approximated by a series of straight line segments of varying slopes which divide the range of numbers into various groups of numbers including numbers of different amplitudes. The device comprises an input register for storing said number x; and an output register for storing said number y, means for identifying the group to which the number x stored in the input register belongs, means for transferring predetermined binary digits relating to the level of the number x into such output register and means for storing into such output register binary digits relating to the identification of such group.

4 Claims, 3 Drawing Figures OUTPUT Riser-512R O1 PATENTEDSEPZB 1912 3.694 639 sum 1 0F 3 I6 64 256 512 OP 1 X 0 n E b 1000 1000 000 100000000 1000 000 000 10 000 000000 FIG. 1

PATENTEDSEPZB m2 SHEET 2 0F 3 OUTPUT REGI TER R m B m R INPUT D D-345 G769 PATENTEDSEP26 I972 SHEET 3 OF 3 iwrmawt FDA-P30 E mkmz bmd FDA-7:

PULSE CODE MODULATION DIGITAL COMPANDOR This invention relates to a compressor-expander, more commonly known as a compandor for compressing or expanding a number having n binary digits into a number having a lower or higher number of binary digits.

In pulse code modulation systems (PCM), for example, a code containing a predetermined number of binary digits is used to transmit quantized values of an analog signal. As commonly known, the amplitude A of a quantized signal may only take a definite number of quantization steps the amplitude of which is hereinafter designated by character a. In the PCM system when used for transmitting vocal signals, a ratio of 1,000 is generally accepted between the maximum and minimum amplitudes of a signal which may be trans-' mitted. For this reason, the ratio Alohas been chosen to be 1,024 or 2 Because of the positive and negative amplitudes of the analog signal, there will be 2,048 or 2 quantization steps in quantized PCM system. However, such a value of ois used for weak signals only and various compression laws where depends on the signal level permit to keep the quantized noise constant and acceptable by using only 2 quantization steps. As it is commonly known, the quantizing noise is caused by the quantizing error resulting from the difference between the instantaneous value of the analog signal and the quantized value of the same signal which is actually transmitted.

Up until now, the compression has been produced within the coder of the PCM system and various compressors have permitted to achieve coding of a signal directly from an analog form to a nonlinear digital form having 2 quantization steps. Similarly, the expanders of the prior art have permitted to pass directly from a nonlinear digital signal back into an analog signal.

It is therefore the main object of the invention to permit the compression of a digital signal which is coded linearly into a digital signal which is coded nonlinearly and vice versa.

A device for compressing or expanding a number x having plural binary digits into a number y having a higher or lower number of binary digits comprises:

a. an input register having a number of storage elements for storing each of the binary digits of said x number;

b. an output register having a number of storage elements for storing each of the binary digits of each y number;

c. a first gate circuit in each group and responsive to predetermined combinations of binary digits in the storage elements of said input register for identifying the group to which said number x belongs;

d. a second gate circuit in each group interconnecting predetermined storage elements of said input and output registers and responsive to said first gate circuit for transferring predetermined binary digits relating to the amplitude of said number x from said input register into said output register; and

e. means responsive to said first gate circuit for storing into said output register binary digits relating to the identification of said group.

The invention will be further disclosed with reference to the accompanying drawings which illustrate a preferred embodiment of the invention and in which:

FIG. 1 illustrates a piecewise linear characteristic used for approximating the nonlinear characteristic of a compressor-expander in accordance with the invention wherein the scales are indicated by binary numbers but are nevertheless linear; 1

FIG. 2 illustrates the circuit diagram of a compressor; and

FIG. 3 illustrates the circuit diagram of an expander for performing the reverse operation of the compressor.

Referring to FIG. 1, the compression law which has been used in the digital compressor is as follows:

y= In (1 1. x)/ln (1 1. wherein y =output signal,

1: input signal, and p. is a constant, for example, p. 100.

The curve obtained in following this law is approached by six straight line segments as illustrated. However, it is to be understood that any other compression law could be used.

It is possible to code the amplitude of an analog signal in two ways l. the level varies between 0 and +2A and the quantization steps are numbered 1 to 2" using a number having n binary digits;

2. the level varies between +A and -A and the quantization steps are characterized by a number having 'n-1 binary digits representing the amplitude and an extra binary digit representing the sign or of such amplitude.

The second solution has been retained because it requires less equipment. In FIG. 1, it is only necessary to determine to which group, among six difierent groups (segments), the binary number belongs and what is its sign. This only requires 6 l 7 identification circuits. On the contary, the first solution would have required to determine to which group, among 1 1 groups, the binary number belongs.

In the Cartesian coordinate system of FIG. 1, the binary code shown plotted below the X axis corresponds to analog values which are shown immediately above the'X axis. Thus if the binary digits were converted to analog values in a conventional linear digital to analog converter, with 2 are plotted on the X axis. Similarly a second series of analog values would result from the conversion of the output binary digits in a linear digital to analog converter and this second series of analog values is plotted on the Y axis together with the corresponding digital code. When the first and second series are plotted on the Cartesian coordinate system the resulting series of points define a plurality of straight line segments connected together by breakpoint. These straight line seg- It is therefore necessary to transform a number x having 10 binary digits (the llth digit being the sign) 1, the resulting analog values would form a first series of linear analog values which i coooooo

ocooooooo-o ocooooo -n-uo-o----o coca-co ooooooe coooooo However, to facilitate the distinction of the groups, eight groups have been formed as illustrated in the following-Table l by breaking the third and fourth segments into two segments each.

The equations of the eight segments expressed in binary numbers are as follows:

Equations of Segments Group Group Number Number Iy=x Ily=xll0+l00 III y=xll00+ 1000 V y=xll000+ 10000 IV y=x/l00+l000 VI y=xll000+l0000 VIIy=X/I00000+I0l000 VIII y=xll000000+ll0000 Referring to t above equations, it may be seen that the slopes of the various segments are: 1, 1/10, 1/100, 1/ 1000, l/l00,000, l/ 1,000,000.

It is to be noted that the numbers in each group before and after transformation consists of one or plural group identification digits and of plural digits which indicate the level of the number in each group. For example, if the binary digits are numbered an, to 1: in the order of their decreasing weights, a number x in group II is composed of seven group identification digits (0000001 and of three digits indicating the level of the number in each group (x x x The transformation of x in this group II is y (x/l 0) 100 which consists of four group identification digits (y to y 0010) and two digits indicating the level in the group. This may be represented by the following equation:

x 000000 lx x x y 00 l 02: 1:

Using the same convention, the transformation in the eight groups will be as follows:

The transfer ofa number in each of groups l-VIII from 10 to six binary elements is illutrated in the following Table 2 wherein the 0 have been eliminated.

TABLE 2 Group Number Binary Element Number I 11 Ill 1V V VI VII VIII 1 x x, x, x, x x x, x, 2 x, x, x; x, x x, x, x, 3 x, =1 x x x x x, 4 l l x =l x, l 5 l l l l 6 l l I Table 2 mentioned above suggest a method for effecting the transformation. It will necessary to:

1. identify the group to which x belongs (for example, 000000lx x x is a number in group II 2. transfer the useful 2, 3 or 4 x, in a register having six positions; 3. store in the register the group identification digits. The above-mentioned operations 2 and 3 may be effected simultaneously. If the six position register is empty before transferring any numbers into it, Table 2 indicates the elements to be placed in it. v

The identification logic functions of each of the groups are: 1

FIG. 2 illustrates an electrical diagram of the transfer circuits required for all the groups of numbers to effectuate the transformation of Table 2. Such transfer circuits include AND gates A, to A and OR gates 0 to 0 Taking the groups separately in consecutive order, it will be seen that a number in group I the identification digits x x x x x x x of which are equal to 0 0 0 0 0 0 0 will permit gate A to conduct to provide a digital output 1 to the first input of gates A A and A to permit such gates to transfer binary digits x x and x stored in the input register 10 of the compressor into the proper storage elements y y and y of the output register 1 l'of the compressor through OR gates 0 to 0, in accordance with the above-mentioned Table 2.

The group identification digits of a number in group 11 having the form 0 0 0 0 0 0 1 will render gate A-, conductive and thereby apply a digital signal 1 to the first input of gates A and A thus causing the transfer of binary digits x and x from the input register of the compressor into the proper storage elements y and y, of the output register through the second input of OR gates 0 and 0 A number in group 111 having the following identification digits'O 0 0 0 0 1 will render gate A conductive and apply a digital signal 1 to the first input of gates A A and A through OR gate 0 thus causing the transfer of digit x x and an, of the input register of the compressor into the proper storage elements y,,, y and 5 y, of the output register thereof through the OR gates to 0 A number'in group IV having the following identification digits 0 0 0 0 1 will render gate A conductive and thus apply a digital input l-to gates A A and A thus causing the transfer vof digits x x and x, in the input register of the compressor into the storage elements y and y of the output register. It will'be noted that the identification digits of groups III and IV are both applied through OR gate 0 to the same transfer gates A A and A Indeed, x x and x must betransferred into storage elements y y and y in both groups, the only difference being'that x l in group III.

A number in group V having the following identification digits 0 0 0 1 will render gate A conductive and thus apply a digital signal l to the first input of gates A to A through OR gate 0 thus transferring digits x x x and x,; in the input register of the compressor into the storage elements y y y and'y of the output register of the compressor. The output of AND gates A A and A is applied to the register through OR gates 0 0 and 0 respectively.

A number in group VI having the identification digits 0 O I will render gate A conductive thus transferring 7 digits x x x and x., into storage elements y y y and y It will be noted that the output of gates A and A are both applied through OR gate 0,, to gates A to A This is because the same digits x x x and x are to be transferred into storage elements y y y and y in both groups V and VI except that in group V, x 1.

An element in group VII having the following identification digits 0 1 will render gate A conductive thus applying a digital signal l to gates A A and A and transferring digits x x and x into the storage elements y y and y through the OR gates 0 to 0 A number in group Vlll having the identification digit 1 will apply a digital signal 37 l to gates A A and A thus transferring digits x ,x and x into the storage elements y y and y FIG. 2 also illustrates the storage of the identification digits for each of the groups I to VIII. There is shown an OR gate 0 to which is applied the signals G G and G3, an OR gate 0 to which is applied the identification signals 6;, G G and G and OR gate 0 to which is applied the identification signals G G and G such identification signals being also illustrated in FIG. 2. One of the identification signals G to G becomes equal to 1 when a number pertaining to a predetermined group occurs while the remaining identification signals remain equal to zero. For example, a number in group I causes G alone to be equal to l and, consequently, digits y;,, y, and y in the storage elements of the output register remain equal to zero. I

A number in group II causes a digit 1 to be applied to OR gate 0 to change the state of y into the state I while y y and y remain in the state zero.

A number in group III causes a digit y l to be stored in the output register while y., and y remain equal to zero. In addition, a digit 1 is stored in storage element y v A number in group IV causes a digit 1 to be applied to OR gate 0 to change the state of y, into the state 1 while y and y remain equal to zero.

A number in group V causes a digit 1 to be applied to OR gate 0 to change the state of y into state 1 while y; remains equal to 0. In addition, a digit 1 is stored into storage element y 5 An element in group VI causes a signal I to be ap- An element in group VIII causes a digit 1 to be applied to OR gates 0 0-, and 0 to change the state of y y., and y into state l. g

The purpose of the digital expander is to transform a signal having seven binary elements back into a signal having 1 l binary elements in which a is constant for all amplitudes of the signal. The compression law is op- 20 posite to that of the compressor, that is if y is the input number having six binary elements, 1:, the output number, will have 10 binary elements. The equations are asfollows:

ments to be placed into it.

TABLE 3 Group Number 40 Binary element number I II III IV V VI VII VIII i yo i y! Y0 Y2 y. Yo Yo The identification logic functions of each of the groups are:

thus transferring digits y y and y of the input register 20 of the expander into the storage elements x x and x, of the output register 21 of the expander. The output of AND gates A and A is applied to the first input of OR gates 0, and 0 respectively.

An element in group II the identification digits y,, y y y of which are 0 0 1 0 will render gate A conductive thus applying a digital signal 1 to gates A5 and A to transfer digits y and y into storage elements x and x through the second input of gates 0 and 0 A number in group III the identification digits y y y y of which are 0 O l I will render gate A conductive thus applying a digital signal 1 to gates A A and A through OR gate 0 to transfer digits y y, and y into storage elements 1 x and x.,. The output of AND gates A to A is applied to the output register 21 through the appropriate inputs of OR gates 0 to 0 An element in group IV the identification digits of which are 0 l O'will render gate A conductive thus applying a digital signal 1 to gates A A and A and transferring digits y y and y into storage elements x x and x It is to be noted that the identification of both groups III and IV is performed by the same transfer circuit through OR gate 0 It is because the same digits y ,'y and y are transferred in both groups except that for group III, y l.

A number in group V having identification digits 0 l 1 will render gate A conductive thus applying a. digital signal I to gates A to A through OR gate 0 to transfer digits y y,, y and y into storage elements x x x and x through OR gates 0, to 0 respectively.

An element in group VI having identification digits will render gate A conductive thus applying a digital signal 1 to gates A to A and transferring digits y y,, y and y into storage elements x x x and x It is to be noted that groups V and VI use the same transfer circuit because in both groups the same digits y y y,, y and ya are to be transferred into x x x, and x except that y l in group V.

An element in group VII having identification digits l l 0 will render gate A conductive thus applying a digital signal 1 to gates A to A and transferring digits y y, andv y into storage elements x x and x through the appropriate inputs of OR gates 0, to 0,

An element in group VIII having identification digits 1 l 1 will render gate A conductive thus applying a digital signal I to gates A to A,,., and transferring digits y y, and y into storage elements x x and x through the appropriate inputs of OR gates 0 to 0,

The storage of the group identification digits is as follows:

a. a number in group I leaves storage elements x;, to

1: unchanged and thus equal to zero; b. a number in group II stores a digit 1 in storage element 14 while x., to x remain equal to zero; 0. a number in group III stores a digit 1 in storage elementx, while leaving storage elements x to x equal to zero; 'd. a number in group IV stores a digit 1 in storage element x,,, while leaving storage elements x to x unchanged; e. a number in group V stores a digit 1 in storage element x while leaving storage elements 1:, to x unchanged;

described by f. a number in group VI will store a digit 1 in storage element x while leaving storage elements ar and x,

unchanged; g. a number in group VII will store a digit lin x while leaving x unchanged;

h. a number in group VIII will store a digit 1 in storage element x,,. Although the above described compressor-expander has been disclosed for use with a PCM system using a seven digit code, it isto be understood that it could be used in any system requiring compression or expansion of a binary number having any number of digits into a second number having a lower or higher number of digits.

We claim: l. A device for parallel conversion of m digit coded signals to n digit coded signals, mvn, wherein the -m digit coded signals are such that when converted to analog in a linear digital to analog converter produce a I first series of analog output values and the n digit coded signals are such that when converted to analog in a linear digital to analog converter produce a second series of analog output values and wherein a plot of said 1st series on the X axis and the 2nd series on the Y axis of a Cartesian coordinate system, produces a locus of points defining a plurality of successive straight line segments each having a different slope and connected to one another at breakpoints, said line segments extending from different lower absolute analog values to different higher absolute analog values and approximating a logarithmic function of x substantially sociated with and identifying said breakpoints and less significant digits of said coded signals correspond to analog values associated with the position on said line segment which has the identified breakpoint corresponding to its lowest absolute analog values, comprising;

I. an input register having a plurality of storage elements for storing the m digit coded signal,

2. an output register having a plurality of storage elements for storing the n digit coded signal,

3. a plurality of first gate circuit means equal at least to the number of straight line segments for'connecting predetermined input storage elements to predetermined output storage elements, said plurality of first gate circuit means being responsive to the most significant activated digit of the m digit coded signal for identifying the breakpoint of said line segments, and i 4. a plurality of second gate circuit means each responsive to one of said first gate circuit means and to digits less significant than the said significant digit of the m digit coded signal for connecting predetermined input storage elements to predetermined output storage elements for identifying the position along the straight line segment having the identified breakpoint which breakpoint corresponds to the lowest equivalent absolute wherein X represents the opposite binary state as X.

4. A device as recited'in claim 1 wherein line segment bre kgi ts are identified by the logic functions:

3, A device as recited in claim 1 wherein line segl0 ment breakpoints are identi tied by the logic functions:

wherein? represents the opposite binary state as Y. 

1. A device for parallel conversion of m digit coded signals to n digit coded signals, m n, wherein the m digit coded signals are such that when converted to analog in a linear digital to analog converter produce a first series of analog output values and the n digit cOded signals are such that when converted to analog in a linear digital to analog converter produce a second series of analog output values and wherein a plot of said 1st series on the X axis and the 2nd series on the Y axis of a Cartesian coordinate system, produces a locus of points defining a plurality of successive straight line segments each having a different slope and connected to one another at breakpoints, said line segments extending from different lower absolute analog values to different higher absolute analog values and approximating a logarithmic function of x substantially described by f(x) Y ln (1+Cx)/ln (1+C) where C is a constant, wherein more significant digits of said coded signals correspond to analog values associated with and identifying said breakpoints and less significant digits of said coded signals correspond to analog values associated with the position on said line segment which has the identified breakpoint corresponding to its lowest absolute analog values, comprising;
 1. an input register having a plurality of storage elements for storing the m digit coded signal,
 2. an output register having a plurality of storage elements for storing the n digit coded signal,
 3. a plurality of first gate circuit means equal at least to the number of straight line segments for connecting predetermined input storage elements to predetermined output storage elements, said plurality of first gate circuit means being responsive to the most significant activated digit of the m digit coded signal for identifying the breakpoint of said line segments, and
 4. a plurality of second gate circuit means each responsive to one of said first gate circuit means and to digits less significant than the said significant digit of the m digit coded signal for connecting predetermined input storage elements to predetermined output storage elements for identifying the position along the straight line segment having the identified breakpoint which breakpoint corresponds to the lowest equivalent absolute analog values of the particular segment.
 2. an output register having a plurality of storage elements for storing the n digit coded signal,
 2. A device as recited in claim 1 wherein line segment breakpoints are identified by the logic functions: f(1) Xm-1 Xm-2 Xm-3 . . . Xm-k f(2) Xm-1 Xm-2 Xm-3 . . . Xm-k-1 Xm-k f(3) Xm-1 Xm-2 Xm-3 . . . Xm-k-2 Xm-k-1 f(P-1) Xm-1 Xm-2 f(P) Xm-1 where X represents the opposite binary state as X; m- k-1 is an integer greater than zero; k-1 is a positive integer less than m; and P is a positive integer greater than one.
 3. A device as recited in claim 1 wherein line segment breakpoints are identified by the logic functions: f(1) X9X8X7X6X5X4X3 f(2) X9X8X7X6X5X4X3 f(3) X9X8X7X6X5X4 f(4) X9X8X7X6X5 f(5) X9X8X7X6 f(6) X9X8X7 f(7) X9X8 f(8) X9 wherein X represents the opposite binary state as X.
 3. a plurality of first gate circuit means equal at least to the number of straight line segments for connecting predetermined input storage elements to predetermined output storage elements, said plurality of first gate circuit means being responsive to the most significant activated digit of the m digit coded signal for identifying the breakpoint of said line segments, and
 4. a plurality of second gate circuit means each responsive to one of said first gate circuit means and to digits less significant than the said significant digit of the m digit coded signal for connecting predetermined input storage elements to predetermined output storage elements for identifying the position along the straight line segment having the identified breakpoint which breakpoint corresponds to the lowest equivalent absolute analog values of the particular segment.
 4. A device as recited in claim 1 wherein line segment breakpoints are identified by the logic functions: f(1) Y5Y4Y3 f(2) Y5Y4Y3Y2 f(3) Y5Y4Y3Y2 f(4) Y5Y4Y3 f(5) Y5Y4Y3 f(6) Y5Y4 f(7) Y5Y4Y3 f(8) Y5Y4Y3 wherein Y represents the opposite binary state as Y. 